Method for fast Kalman filtering in large dynamic system

ABSTRACT

The invention is based on the use of the principles of Lange&#39;s Fast Kalman Filtering (FKF™) for large process control, prediction or warning systems where other computing methods are either too slow or fail because of truncation errors. The invented method makes it possible to exploit the FKF method for dynamic multiparameter systems that are governed by partial differential equations.

TECHNICAL FIELD

This invention relates generally to all practical applications of the Kalman Filter and more particularly to large dynamical systems with a special need for fast, computationally stable and accurate results.

BACKGROUND ART

Prior to explaining the invention, it will be helpful to first understand the prior art of both the Kalman Filter (KF) and the Fast Kalman Filter (FKF™) for calibrating a sensor system (WO 90/13794). The underlying Markov process is described by the equations from (1) to (3). The first equation tells how a measurement vector y_(t) depends on the state vector s_(t) at timepoint t, (t=0,1,2 . . . ). This is the linearized Measurement (or observation) equation:

    y.sub.t =H.sub.t s.sub.t +e.sub.t                          ( 1)

The design matrix H_(t) is typically composed of the partial derivatives of the actual Measurement equations. The second equation describes the time evolution of e.g. a weather balloon flight and is the System (or state) equation:

    s.sub.t =s.sub.t-1 +u.sub.t-1 +a.sub.t                     ( 2)

(or, s_(t) =As_(t-1) +Bu_(t-1) +a_(t) more generally)

which tells how the balloon position is composed of its previous position s_(t-1) as well as of increments u_(t-1) and a_(t) These increments are typically caused by a known uniform motion and an unknown random acceleration, respectively.

The measurement errors, the acceleration term and the previous position usually are mutually uncorrelated and are briefly described here by the following covariance matrices:

    R.sub.e.sbsb.t =Cov(e.sub.t)=E(e.sub.t e.sub.t ')

    R.sub.a.sbsb.t =Cov(a.sub.t)=E(a.sub.t a.sub.t ')

and

    P.sub.t-1 =Cov(s.sub.t-1)=E{(s.sub.t-1 -s.sub.t-1)(s.sub.t-1 -s.sub.t-1)'}(3)

The Kalman forward recursion formulae give us the best linear unbiased estimates of the present state

    s.sub.t =s.sub.t-1 +u.sub.t-1 +K.sub.t {y.sub.t -H.sub.t (s.sub.t-1 +u.sub.t-1)}                                              (4)

and its covariance matrix

    P.sub.t =Cov(s.sub.t)=P.sub.t-1 -K.sub.t H'.sub.t P.sub.t-1( 5)

where the Kalman gain matrix K_(t) is defined by

    K.sub.t =(P.sub.t-1 +R.sub.a.sbsb.t)H'.sub.t {H.sub.t (P.sub.t-1 R.sub.a.sbsb.t)H'.sub.t +R.sub.e.sbsb.t }.sup.-1          ( 6)

Let us now partition the estimated state vector s_(t) and its covariance matrix P_(t) as follows: ##EQU1## where b_(t) tells us the estimated balloon position; and,

cc_(t) the estimated calibration parameters.

The respective partitioning of the other quantities will then be as follows: ##EQU2##

The recursion formulae from (4) to (6) gives us now a filtered (based on updated calibration parameters) position vector

    b.sub.t =b.sub.t-1 +u.sub.b.sbsb.t-1 +K.sub.b.sbsb.t {y.sub.t -H.sub.t (s.sub.t-1 +u.sub.t-1)}                                   (9)

and the updated calibration parameter vector

    c.sub.t =c.sub.t-1 +u.sub.c.sbsb.t-1 +K.sub.c.sbsb.t {y.sub.t -H.sub.t (st-1+u.sub.t-1)}                                         (10)

The Kalman gain matrices are respectively ##EQU3##

The following modified form of the general State equation is introduced

    As.sub.t-1 +Bu.sub.t-1 =Is.sub.t +A(s.sub.t-1 -s.sub.t-1)-a.sub.t( 12)

where s represents an estimated value of a state vector s. Combine it with the Measurement equation (1) in order to obtain so-called Augmented Model: ##EQU4## The state parameters can now be computed by using the well-known solution of a Regression Analysis problem given below. Use it for Updating:

    s.sub.t =(Z'.sub.t V.sub.t.sup.-1 Z.sub.t).sup.-1 Z'.sub.t V.sub.t.sup.-1 z.sub.t                                                   ( 14)

The result is algebraically equivalent to use of the Kalman Recursions but not numerically. For the balloon tracking problem with a large number sensors with slipping calibration the matrix to be inverted in equations (6) or (11) is larger than that in formula (14).

The initialization of the large Fast Kalman Filter (FKF™) for solving the calibration problem of the balloon tracking sensors is done by Lange's High-pass Filter. It exploits an analytical sparse-matrix inversion formula (Lange, 1988a) for solving regression models with the following so-called Canonical Block-angular matrix structure: ##EQU5## This is a matrix representation of the Measurement equation of an entire windfinding intercomparison experiment or one balloon flight. The vectors b₁,b₂, . . . ,b_(K) typically refer to consecutive position coordinates of a weather balloon but may also contain those calibration parameters that have a significant time or space variation. The vector c refers to the other calibration parameters that are constant over the sampling period.

The Regression Analytical approach of the Fast Kalman Filtering (FKF™) for updating the state parameters including the calibration drifts in particular, is based on the same block-angular matrix structure as in equation (15). The optimal estimates ( ) of b₁,b₂, . . . b_(K) and c are obtained by making the following logical insertions into formula (15) for each timepoint t, t=1,2, . . . : ##EQU6## These insertions concluded the specification of the Fast Kalman Filter (FKF™) algorithm for calibrating the upper-air wind tracking system. Another application would be the Global Observing System of the World Weather Watch. Here, the vector y_(k) contains various observed inconsistencies and systematic errors of weather reports (e.g. mean day-night differences of pressure values which should be about zero) from a radiosonde system k or from a homogeneous cluster k of radiosonde stations of a country (Lange, 1988a/b). The calibration drift vector b_(k) will then tell us what is wrong and to what extent. The calibration drift vector c refers to errors of a global nature or which are more or less common to all observing systems (e.g. biases in satellite radiances and in their vertical weighting functions or some atmospheric tide effects).

For all these large multiple sensor systems their design matrices H typically are sparse. Thus, one can usually perform in one way or another the following sort of ##EQU7## where c_(t) typically represents calibration parameters at time t

b_(t),k all other state parameters in the time and/or space volume

A state transition matrix (bock-diagonal) at time t

B matrix (bock-diagonal) for state-independent effects u_(t) at time t.

Consequently, two (or three) types of gigantic Regression Analysis problems

    Z.sub.t =Z.sub.t S.sub.t +e.sub.t                          ( 18)

were faced as follows:

Augmented model for a space volume case: see also equations (15) and (16), e.g. for the data of an entire windtracking experiment with K consecutive balloon positions: ##STR1## Augmented Model for a moving time volume (e.g. for "whitening" an observed "innovations" sequence of residuals e_(t) over a moving sample of length L): ##STR2##

Please observe that the matrix formula may take a "nested" Block-Angular structure. Fast semi-analytical solutions based on

    Updating: S.sub.t ={Z'.sub.t V.sub.t.sup.-1 Z.sub.t }.sup.- Z'.sub.t V.sub.t.sup.-1 Z.sub.t                                    ( 19)

for all these three cases were published in PCT/FI90/00122 (Lange, 1990), WIPO, Geneva, Switzerland.

The Fast Kalman Filter (FKF™) formulae for the recursion step at any timepoint t were as follows: ##EQU8## where, for l=0,1,2, . . . , L-1, ##EQU9## and, i.e. for l=L,

    R.sub.t-L =V.sub.t-L.sup.-1

    V.sub.t-L =Cov{A(C.sub.t-1 -C.sub.t-1)-a.sub.c.sbsb.t }

    y.sub.t-L =AC.sub.t-1 +Bu.sub.c.sbsb.t-1

    G.sub.t-L =I.

A major R & D project was initiated in 1988 which led to the start of cooperation between ECMWF and Meteo-France for the coding of a dynamical atmospheric model, an optimal interpolation, a variational data assimilation and a Kalman Filter (FK), all in the same framework. The project is called IFS (Integrated Forecasting System), see Jean-Noel Thepaut and Philippe Courtier ( 1991): "Four-dimensional variational data assimilation using the adjoint of a multilevel primitive-equation model", Quarterly Journal of the Royal Meteorological Society, Volume 117, pp. 1225-1254.

Similar Kalman Filter (FK) studies have recently been reported also by Roger Daley (1992): "The Lagged Innovation Covariance: A Performance Diagnostic for Atmospheric Data Assimilation", Monthly Weather Review of the American Meteorological Society, Vol. 120, pp. 178-196, and Stephen E. Cohn and David F. Parrish (1991): "The Behavior of Forecast Error Covariances for a Kalman Filter in Two Dimensions", Monthly Weather Review of the American Meteorological Society, Vol. 119, pp. 1757-1785. Unfortunately, the ideal Kalman Filter systems described in the above reports have been out of reach at the present time. Dr. T. Gal-Chen of School of Meteorology, University of Oklahoma, reported in May 1988: "There is hope that the developments of massively parallel super computers (e.g., 1000 desktop CRAYs working in tandem) could result in algorithms much closer to optimal . . . ", see "Report of the Critical Review Panel--Lower Tropospheric Profiling Symposium: Needs and Technologies", Bulletin of the American Meteorological Society, Vol. 71, No. 5, May 1990, page 684.

There exists a need for exploiting the principles of the Fast Kalman Filtering (FKF™) method for a broad technical field (broader than just calibrating a sensor system in some narrow sense of word "calibration") with equal or better computational speed, reliability, accuracy, and cost benefits than other Kalman Filtering methods can do.

SUMMARY OF THE INVENTION

These needs are substantially met by provision of the generalized Fast Kalman Filtering (FKF™) method for calibrating and adjusting the sensors and various model parameters of a dynamical system in real-time or in near real-time as described in this specification. Through the use of this method, the computation results include the forecast error covariances that are absolute necessary for warning, decision making and control purposes.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1. Diagram of the disclosed invention.

BEST MODE FOR CARRYING OUT THE INVENTION

Prior to explaining the invention, it will be helpful to first understand prior art Kalman Filter (FK) theory exploited in the current experimental Numerical Weather Prediction (NWP) systems. As previously, they make use of equation (1):

    Measurement Equation: y.sub.t =H.sub.t s.sub.t +e.sub.t    (linearized regression)

where state vector s_(t) describes the state of the atmosphere at timepoint t. Now, s_(t) usually represents all gridpoint values of atmospheric variables e.g. the geopotential heights of a number of different pressure levels.

The dynamics of the atmosphere is governed by a well-known set of partial differential equations ("primitive" equations). Making use of the so-called adjoint operator of the model the following linear expression of equation (2) is obtained for the time evolution of the atmosphere at each time step:

    State Equation: s.sub.t =As.sub.t-1 +Bu.sub.t-1 +a.sub.t   (the discretized dyn-stoch model)

The four-dimensional data assimilation results (s_(t)) and the NWP forecasts (s_(t)), respectively, are obtained from the Kalman Filter system as follows:

    s.sub.t =s.sub.t +K.sub.t (y.sub.t -H.sub.t s.sub.t)

    s.sub.t =As.sub.t-1 +Bu.sub.t-1                            (21)

where

    P.sub.t =Cov(s.sub.t)=A Cov(s.sub.t-1)A'+Q.sub.t           (prediction accuracy)

    Q.sub.t =Cov(a.sub.t)=Ea.sub.t a'.sub.t                    (system noise)

    R.sub.t =Cov(e.sub.t)=Ee.sub.t e'.sub.t                    (measurement noise)

and the crucial Updating computations are based on the following Kalman Recursion:

    K.sub.t =P.sub.t H'.sub.t (H.sub.t P.sub.t H'.sub.t +R.sub.t).sup.-1(Kalman Gain matrix)

    Cov(s.sub.t)=P.sub.t -K.sub.t H.sub.t P.sub.t              (estimation accuracy).

The matrix inversion needed here for the computation of the Kalman Gain matrix is exceedingly difficult for any realistic NWP system because the data assimilation system must be be able to digest several ten thousand data elements at a time.

The method of the invention will now be described. We start with the Augmented Model from equation (13): ##EQU10## For the four-dimensional data assimilation the following two equations are obtained for its Updating: ##EQU11## where, as previously,

    s.sub.t =As.sub.t-1 +Bu.sub.t-1                            (NWP "forecasting")

    P.sub.t =Cov(s.sub.t)=A Cov(s.sub.t-1)A'+Q.sub.t           (24)

but instead of

    K.sub.t =P.sub.t H'.sub.t (H.sub.t P.sub.t H'.sub.t +R.sub.t).sup.-1(Kalman Gain matrix)

we take

    K.sub.t =Cov(s.sub.t)H'.sub.t R.sub.t.sup.-1               (25)

The Augmented Model approach is superior to the use of the Kalman Recursion formulae for a large vector of input data y_(t) because the computation of the Kalman Gain matrix K_(t) required a huge matrix inversion when Cov(s_(t)) was unknown. Both methods are algebraically and statistically equivalent but certainly not numerically.

Unfortunately, the Augmented Model formulae above may still become much too difficult to handle numerically if the number of the state parameters is overly large. This actually happens, firstly, if state vector s_(t) consists of enough gridpoint data for a realistic representation of the atmosphere. A spectral decomposition (or empirical orthogonal functions) could be attempted here for the purpose of decreasing the number of state parameters. Secondly, there are many other state parameters that must be included in the state vector for a realistic NWP system. These are first of all related to systematic (calibration) errors of observing systems as well as to the so-called physical parameterization schemes of small scale atmospheric processes.

Fortunately, all these problems are overcome by using the method of decoupling states through exploitation of the general Fast Kalman Filtering (FKF™) method. For the large observing systems of the atmosphere their design matrices H typically are sparse. Thus, one can perform the following ##EQU12## where c_(t) typically represents "calibration" parameters at time t

b_(t),k values of atmospheric parameters at grid point k (k=1, . . . K)

A state transition matrix at time t (submatrices A₁, . . . ,A_(K),A_(c))

B for state-independent effects (submatrices B₁, . . . ,B_(K),B_(c)).

Consequently, the following gigantic Regression Analysis problem is faced: ##STR3##

The Fast Kalman Filter (FKF™) fomulae for the recursion step at any timepoint t are as follows: ##EQU13## where, for k=1,2, . . . K, ##EQU14## and, i.e. for k=0,

    R.sub.t,0 =V.sub.t,0.sup.-1

    V.sub.t,0 =Cov{A.sub.c (s.sub.t-1 -s.sub.t-1)-a.sub.c.sbsb.t }

    y.sub.t,0 =A.sub.c s.sub.t-1 +B.sub.c u.sub.t-1

    G.sub.t,0 =I.

The data assimilation accuracies are obtained from equation (23) as follows: ##EQU15## Through these semi-analytical means all the matrices to be inverted for the solution of gigantic Regression Analysis models of type shown in equation (27) are kept reasonably small and, especially, for the preferred embodiment of the invention for an operational Numerical Weather Prediction (NWP) model and four-dimensional data assimilation system that is much too large to be specified here. Obviously, the error variances and covariances of the forecasts and the data assimilation results are derived using equations (24) and (29), respectively.

The generalized Fast Kalman Filtering (FKF™) formulae given in equations (28) and (29) are pursuant to the invented method.

Those stilled in the art will appreciate that many variations could be practiced with respect to the above described invention without departing from the spirit of the invention. Therefore, it should be understood that the scope of the invention should not be considered as limited to the specific embodiment described, except in so far as the claims may specifically include such limitations.

References

(1) Kalman, R. E. (1960): "A new approach to linear filtering and prediction problems". Trans. ASME J. of Basic Eng. 82:35-45.

(2) Lange, A. A. (1982): "Multipath propagation of VLF Omega signals". IEEE PLANS '82--Position Location and Navigation Symposium Record, December 1982, 302-309.

(3) Lange, A. A. (1984): "Integration, calibration and intercomparison of windfinding devices". WMO Instruments and Observing Methods Report No. 15.

(4) Lange, A. A. (1988a): "A high-pass filter for optimum calibration of observing systems with applications". Simulation and Optimization of Large Systems, edited by A. J. Osiadacz, Oxford University Press/Clarendon Press, Oxford, 1988, 311-327.

(5) Lange. A. A. (1988b): "Determination of the radiosonde biases by using satellite radiance measurements". WMO Instruments and Observing Methods Report No. 33, 201-206.

(6) Lange, A. A. (1990): "Apparatus and method for calibrating a sensor system". International Application Published under the Patent Cooperation Treaty (PCT), World Intellectual Property Organization, International Bureau, WO 90/13794, PCT/FI90/00122, 15 Nov. 1990. 

I claim:
 1. A method for adjusting model and calibration parameters of a large sensor system accompanied with said model of external events by Kalman filtering, the sensor output units providing signals in response to said external events and where the number of simultaneously processed sensor output signal values is in excess of 50, the method comprising the steps of:a) providing a data base unit for storing information on:a plurality of test point sensor output signal values for some of said sensors and a plurality of values for said external events corresponding to said test point sensor output signal values, simultaneous time series of said output signal values from adjacent sensors for comparison; said sensor output signal values accompanied with values for said model and calibration parameters and values for said external events corresponding to a situation; and, controls of said sensors and changes in said external events corresponding to a new situation; b) providing a logic unit for accessing said sensor signal output values with said model and calibration parameters, said logic unit having a two-way communications link to said data base unit, and computing initial values for unknown model and calibration parameters with accuracy estimates by using Lange's High-pass Filter as required; c) providing said sensor output signal values from said sensors, as available, to said logic unit; d) providing information on said controls and changes to said data base unit; e) accessing current values of said model and calibration parameters and elements of a state transition matrix, and computing by using the Fast Kalman Filter (FKF) formulas obtained from Lange's sparse-matrix inversion formula, in said logic unit, updates of said model and calibration parameters, values of said external events and their accuracies corresponding to said new situation; f) controlling stability of said Kalman filtering by monitoring said accuracy estimates, in said logic unit, and by indicating need for new test point data, comparisons or system reconfiguration; g) adjusting those of said model and calibration parameter values for which stable updates are available. 